package com.moli.iov.admin.service;

import com.moli.iov.base.model.dto.req.QueryTerminalInstallationAuditListParamDto;
import com.moli.iov.base.model.dto.req.QueryVehicleTboxListParamDto;
import com.moli.iov.base.model.dto.req.TerminalBindingDeleteDto;
import com.moli.iov.base.model.dto.req.TerminalBindingSaveDto;
import com.moli.iov.base.model.dto.req.TerminalInstallLogsReqDto;
import com.moli.iov.base.model.dto.req.TerminalInstallationAuditReqDto;
import com.moli.iov.base.model.dto.res.TerminalInstallationAuditResDto;
import com.moli.iov.base.model.dto.res.VehicleTboxBindingResDto;
import com.moli.iov.base.model.mongo.TerminalInstallLogs;
import com.moli.iov.model.dto.req.PageExtend;
import com.moli.iov.rest.RestResponse;

/**
 *
 * @author whl
 */
public interface ITerminalInstallationAuditService {
    /**
     * 设备管理> 终端安装管理-有效授权列表
     * @param dto
     * @return
     */
    RestResponse  <PageExtend<VehicleTboxBindingResDto>> listVehicleTboxBinding(QueryVehicleTboxListParamDto dto);

    /**
     * 设备管理> 终端安装管理-添加绑定关系
     * @param dto
     * @return
     */
    RestResponse listVehicleTboxBindingSave(TerminalBindingSaveDto dto);

    /**
     * 设备管理> 终端安装管理-安装确认列表
     *
     * @param dto
     * @return
     */
    RestResponse <PageExtend<TerminalInstallationAuditResDto>> listTerminalInstallationAudit(QueryTerminalInstallationAuditListParamDto dto);

    /**
     * 审核
     * @param dto
     * @return
     */
    RestResponse audit(TerminalInstallationAuditReqDto dto);

    /**
     * 安装日志列表
     * @param dto
     * @return
     */
    RestResponse<PageExtend<TerminalInstallLogs>> listTerminalInstallLogs(TerminalInstallLogsReqDto dto);

    /**
     * 删除绑定
     * @param dto
     * @return
     */
    RestResponse listVehicleTboxBindingDelete(TerminalBindingDeleteDto dto);
}
